Middleware в FastAPI — это компоненты, которые позволяют изменять входящие запросы и исходящие ответы, перед или после выполнения вьюх API. Они позволяют добавлять к API глобальные фичи, такие как аутентификация, ведение журналов, манипулирование запросами/ответами и многое другое.

Используются для:
- [[FastAPI Auth|Авторизации и Аутентификации]];
- [[FastAPI Logging|Логирование]];
- [[FastAPI CORS|CORS]];

```python
from fastapi import FastAPI, Request

app = FastAPI()

def custom_middleware(request: Request, call_next):
    # Do something before handling the request
    print(f"Received request to {request.url.path}")
    
    response = call_next(request)
    
    # Do something after handling the request
    print(f"Response status code: {response.status_code}")
    
    return response

app.add_middleware(custom_middleware)
```

---

https://fastapi.tiangolo.com/tutorial/middleware/
https://fastapi.tiangolo.com/advanced/middleware/
